// <copyright file="ScoreTest.cs" company="Open Source"></copyright>

using System;
using _22yards.Core;
using Microsoft.Pex.Framework;
using Microsoft.Pex.Framework.Validation;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Collections.Generic;

namespace _22yards.Core
{
    [TestClass]
    [PexClass(typeof(Score))]
    [PexAllowedExceptionFromTypeUnderTest(typeof(ArgumentException), AcceptExceptionSubtypes = true)]
    [PexAllowedExceptionFromTypeUnderTest(typeof(InvalidOperationException))]
    public partial class ScoreTest
    {
        [PexMethod]
        public short WicketsTakenByBowlerCurrentInnings([PexAssumeUnderTest]Score target, int _playerID)
        {
            short result = target.WicketsTakenByBowlerCurrentInnings(_playerID);
            return result;
            // TODO: add assertions to method ScoreTest.WicketsTakenByBowlerCurrentInnings(Score, Int32)
        }
        [PexMethod]
        public bool WicketFallenPreviousBall([PexAssumeUnderTest]Score target, int _playerID)
        {
            bool result = target.WicketFallenPreviousBall(_playerID);
            return result;
            // TODO: add assertions to method ScoreTest.WicketFallenPreviousBall(Score, Int32)
        }
        [PexMethod]
        public short TotalExtrasBowledByBowlerCurrentInnings([PexAssumeUnderTest]Score target, int _playerID)
        {
            short result = target.TotalExtrasBowledByBowlerCurrentInnings(_playerID);
            return result;
            // TODO: add assertions to method ScoreTest.TotalExtrasBowledByBowlerCurrentInnings(Score, Int32)
        }
        [PexMethod]
        public short TotalBallsBowledByBowlerCurrentInnings([PexAssumeUnderTest]Score target, int _playerID)
        {
            short result = target.TotalBallsBowledByBowlerCurrentInnings(_playerID);
            return result;
            // TODO: add assertions to method ScoreTest.TotalBallsBowledByBowlerCurrentInnings(Score, Int32)
        }
        [PexMethod]
        public short SixesScoredByBatsmanCurrentInnings([PexAssumeUnderTest]Score target, int _playerID)
        {
            short result = target.SixesScoredByBatsmanCurrentInnings(_playerID);
            return result;
            // TODO: add assertions to method ScoreTest.SixesScoredByBatsmanCurrentInnings(Score, Int32)
        }
        [PexMethod]
        public short SixesConceededByBowlerCurrentInnings([PexAssumeUnderTest]Score target, int _playerID)
        {
            short result = target.SixesConceededByBowlerCurrentInnings(_playerID);
            return result;
            // TODO: add assertions to method ScoreTest.SixesConceededByBowlerCurrentInnings(Score, Int32)
        }
        [PexMethod]
        public short RunsScoredByBatsmanCurrentInnings([PexAssumeUnderTest]Score target, int _playerID)
        {
            short result = target.RunsScoredByBatsmanCurrentInnings(_playerID);
            return result;
            // TODO: add assertions to method ScoreTest.RunsScoredByBatsmanCurrentInnings(Score, Int32)
        }
        [PexMethod]
        public short RunsConceededByBowlerCurrentInnings([PexAssumeUnderTest]Score target, int _playerID)
        {
            short result = target.RunsConceededByBowlerCurrentInnings(_playerID);
            return result;
            // TODO: add assertions to method ScoreTest.RunsConceededByBowlerCurrentInnings(Score, Int32)
        }
        [PexMethod]
        public short RunConceededBowlerPreviousBall([PexAssumeUnderTest]Score target, int _playerID)
        {
            short result = target.RunConceededBowlerPreviousBall(_playerID);
            return result;
            // TODO: add assertions to method ScoreTest.RunConceededBowlerPreviousBall(Score, Int32)
        }
        [PexMethod]
        public short LegalBallsBowledByBowlerCurrentInnings([PexAssumeUnderTest]Score target, int _playerID)
        {
            short result = target.LegalBallsBowledByBowlerCurrentInnings(_playerID);
            return result;
            // TODO: add assertions to method ScoreTest.LegalBallsBowledByBowlerCurrentInnings(Score, Int32)
        }
        [PexMethod]
        public string getScore([PexAssumeUnderTest]Score target, bool AussieFormat)
        {
            string result = target.getScore(AussieFormat);
            return result;
            // TODO: add assertions to method ScoreTest.getScore(Score, Boolean)
        }
        [PexMethod]
        public short FoursConceededByBowlerCurrentInnings([PexAssumeUnderTest]Score target, int _playerID)
        {
            short result = target.FoursConceededByBowlerCurrentInnings(_playerID);
            return result;
            // TODO: add assertions to method ScoreTest.FoursConceededByBowlerCurrentInnings(Score, Int32)
        }
        [PexMethod]
        public short DotsByBatsmanCurrentInnings([PexAssumeUnderTest]Score target, int _playerID)
        {
            short result = target.DotsByBatsmanCurrentInnings(_playerID);
            return result;
            // TODO: add assertions to method ScoreTest.DotsByBatsmanCurrentInnings(Score, Int32)
        }
        [PexMethod]
        public Score Constructor()
        {
            Score target = new Score();
            return target;
            // TODO: add assertions to method ScoreTest.Constructor()
        }
        [PexMethod]
        public short BoundariesScoredByBatsmanCurrentInnings([PexAssumeUnderTest]Score target, int _playerID)
        {
            short result = target.BoundariesScoredByBatsmanCurrentInnings(_playerID);
            return result;
            // TODO: add assertions to method ScoreTest.BoundariesScoredByBatsmanCurrentInnings(Score, Int32)
        }
        [PexMethod]
        public short BallsFacedByBatsmanCurrentInnings([PexAssumeUnderTest]Score target, int _playerID)
        {
            short result = target.BallsFacedByBatsmanCurrentInnings(_playerID);
            return result;
            // TODO: add assertions to method ScoreTest.BallsFacedByBatsmanCurrentInnings(Score, Int32)
        }
        [PexMethod]
        public List<CBall> BallsBowledInCurrentInningsGet([PexAssumeUnderTest]Score target)
        {
            List<CBall> result = target.BallsBowledInCurrentInnings;
            return result;
            // TODO: add assertions to method ScoreTest.BallsBowledInCurrentInningsGet(Score)
        }
    }
}
